A system for processing information can include a system memory. Moreover, one or more devices of the system can include a cache memory. A cache memory is a relatively small high-speed memory that stores a copy of information from one or more portions of the system memory.
Frequently, the cache memory is physically distinct from the system memory. Each device manages the state of its respective cache memory. A device can copy information from a portion of the system memory into the device's cache memory, and the device can modify information in its cache memory.
In a coherent memory system, all devices operate in response to the most recent version of information for the system memory. Such coherency allows synchronization, cooperative use of shared resources, and task migration among the devices. For maintaining memory coherency, a device can copy modified information from its cache memory back to a portion of the system memory.
Such copying adds traffic through the system bus. The added traffic is significant where a first device frequently modifies information for the system memory while a second device frequently attempts to input the information. By adding traffic through the system bus, overall performance of the system is degraded.
Thus, a need has arisen for a method and system for maintaining memory coherency, in which traffic through the system bus is diminished relative to previous techniques. Also, a need has arisen for a method and system for maintaining memory coherency, in which overall performance of the system is improved.
In response to an instruction specifying all of a portion of information, all of the portion is written into a first memory without copying the portion from a second memory, independent of whether the portion is previously modified within the second memory.
It is a technical advantage that traffic through a system bus is diminished relative to previous techniques.
It is another technical advantage that overall performance of the system is improved.